package com.dhecp.core.domain;

import java.io.Serializable;
import java.util.Date;

import com.dhecp.common.annotation.ForUpdate;
import com.dhecp.common.utils.RandomValueUtils;
import com.fasterxml.jackson.annotation.JsonFormat;

/**
 * 业务功能Entity基类（跨境专用）
 * @author DH-Xxj
 * @version 2022年7月22日
 */
public class BaseBusinessEntityKJ implements Serializable{
	
    private static final long serialVersionUID = 1L;

    private Integer countRow;	//总记录数（存储过程查询数据分页使用）
	private String vDjMc;	//单据名称
	private String vSjLy;	//数据来源
	private String bigData;	//大数据处理专用字段单号
    private String guid; //单据guid值
    private String pGuid; //父表guid值
    private Integer iid; //行号
    private String nid; //单据编码
    private String bid; //单据编号
    private String pBid; //父单据编号
    private String cid; //所属单位
    private String aUser; //代理人
    private String aDept; //代理部门
    private String aPosition; //代理人岗位
    private String bUser; //制单人
    private String bDept; //制单部门
    private String bPosition; //制单人岗位
    private String gUser; //销售员
    private String gDept; //销售部门
    private String gClient; //客户编号
    private String gCName; //客户名称
    private String vBz; //备注
    private String vZdbz; //整单备注
    @JsonFormat(locale = "zh",timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime; //创建日期
    @JsonFormat(locale = "zh",timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime; //生效日期（不进行常规插入与更新操作，通过单独功能实现，如流转）
    private Boolean effectStock; //数据生效标志（不进行常规插入与更新操作，通过单独功能实现，如流转）
    private Boolean deleted; 	//删除标志（不进行常规插入与更新操作，通过单独功能实现，如作废）
    private String activeFlow; 	//流程状态（不进行常规插入与更新操作，通过单独功能实现，如流转）
    private String procInstId;	//流程实例ID
	private String img;				//
	@ForUpdate(fieldName = "商品编码")
	private String code;			//
	private String codeHs;			//
	private Double sizeLength;		//
	private Double sizeWidth;		//
	private Double sizeHeight;		//
	private Double sizeWeight;		//
	private Double priceIn;			//
	private Double priceService;	//
	@ForUpdate(fieldName = "商品名称")
	private String name;			//
	private String nameCn;			//
	private String nameEn;			//
	private String nameUnit;		//
	private String materialCn;		//
	private String materialEn;		//
	private String usageCn;			//
	private String usageEn;			//
	private String combination;		//
	private String linkIn;			//
	private String remark;			//
	private String codeMerge;		//合并商品编码
	private String vSfJp;			//是否精品
	private String vSKU;			//
	private String vASIN;			//
	private String vFNSKU;			//
	private String vJydz;			//经营地址
	@ForUpdate(fieldName = "公司编码")
	private String vGsBm;			//公司编码
	@ForUpdate(fieldName = "公司名称")
	private String vGsMc;			//公司名称
	@ForUpdate(fieldName = "公司简称")
	private String vGsJc;			//公司简称
	@ForUpdate(fieldName = "公司地址")
	private String vGsDz;			//公司地址

    //虚拟字段
    private String cidName;	//所属单位
    private String aUserName; //代理人
    private String aDeptName; //代理部门
    private String bUserName; //制单人
    private String bDeptName; //制单部门
    private String gUserName; //销售员
    private String gDeptName; //销售部门
    private String activeFlowName; //流程状态
    private String vHFilesDefault; //表头默认附件字段
    private String vDFilesDefault; //明细默认附件字段

	public Integer getCountRow() {
		if (countRow == null){
			return 0;
		}
		return countRow;
	}
	public void setCountRow(Integer countRow) {
		this.countRow = countRow;
	}
	public String getvDjMc() {
		return vDjMc;
	}
	public void setvDjMc(String vDjMc) {
		this.vDjMc = vDjMc;
	}
	public String getvSjLy() {
		return vSjLy;
	}
	public void setvSjLy(String vSjLy) {
		this.vSjLy = vSjLy;
	}
	public String getBigData() {
		return bigData;
	}
	public void setBigData(String bigData) {
		this.bigData = bigData;
	}
	public String getGuid() {
		if (guid == null || "".equals(guid)){
			return RandomValueUtils.getGUID();
		}
		return guid;
	}
	public void setGuid(String guid) {
		this.guid = guid;
	}
	public String getpGuid() {
		return pGuid;
	}
	public void setpGuid(String pGuid) {
		this.pGuid = pGuid;
	}
	public Integer getIid() {
		if (iid == null){
			return 0;
		}
		return iid;
	}
	public void setIid(Integer iid) {
		this.iid = iid;
	}
	public String getNid() {
		return nid;
	}
	public void setNid(String nid) {
		this.nid = nid;
	}
	public String getBid() {
		return bid;
	}
	public void setBid(String bid) {
		this.bid = bid;
	}
	public String getpBid() {
		return pBid;
	}
	public void setpBid(String pBid) {
		this.pBid = pBid;
	}
	public String getCid() {
		return cid;
	}
	public void setCid(String cid) {
		this.cid = cid;
	}
	public String getaUser() {
		return aUser;
	}
	public void setaUser(String aUser) {
		this.aUser = aUser;
	}
	public String getaDept() {
		return aDept;
	}
	public void setaDept(String aDept) {
		this.aDept = aDept;
	}
	public String getaPosition() {
		return aPosition;
	}
	public void setaPosition(String aPosition) {
		this.aPosition = aPosition;
	}
	public String getbUser() {
		return bUser;
	}
	public void setbUser(String bUser) {
		this.bUser = bUser;
	}
	public String getbDept() {
		return bDept;
	}
	public void setbDept(String bDept) {
		this.bDept = bDept;
	}
	public String getbPosition() {
		return bPosition;
	}
	public void setbPosition(String bPosition) {
		this.bPosition = bPosition;
	}
	public String getgUser() {
		return gUser;
	}
	public void setgUser(String gUser) {
		this.gUser = gUser;
	}
	public String getgDept() {
		return gDept;
	}
	public void setgDept(String gDept) {
		this.gDept = gDept;
	}
	public String getgClient() {
		return gClient;
	}
	public void setgClient(String gClient) {
		this.gClient = gClient;
	}
	public String getgCName() {
		return gCName;
	}
	public void setgCName(String gCName) {
		this.gCName = gCName;
	}
	public String getvBz() {
		return vBz;
	}
	public void setvBz(String vBz) {
		this.vBz = vBz;
	}
	public String getvZdbz() {
		return vZdbz;
	}
	public void setvZdbz(String vZdbz) {
		this.vZdbz = vZdbz;
	}
	public Date getCreateTime() {
		if (createTime == null){
			return new Date();
		}
		return createTime;
	}
	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}
	public Date getUpdateTime() {
		return updateTime;
	}
	public void setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
	}
	public Boolean getEffectStock() {
		if (effectStock == null){
			return false;
		}
		return effectStock;
	}
	public void setEffectStock(Boolean effectStock) {
		this.effectStock = effectStock;
	}
	public Boolean getDeleted() {
		if (deleted == null){
			return false;
		}
		return deleted;
	}
	public void setDeleted(Boolean deleted) {
		this.deleted = deleted;
	}
	public String getActiveFlow() {
		if (activeFlow == null || "".equals(activeFlow)){
			return "FlowZd";
		}
		return activeFlow;
	}
	public void setActiveFlow(String activeFlow) {
		this.activeFlow = activeFlow;
	}
	public String getProcInstId() {
		return procInstId;
	}
	public void setProcInstId(String procInstId) {
		this.procInstId = procInstId;
	}
	public String getImg() {
		return img;
	}
	public void setImg(String img) {
		this.img = img;
	}
	public String getCode() {
		return code;
	}
	public void setCode(String code) {
		this.code = code;
	}
	public String getCodeHs() {
		return codeHs;
	}
	public void setCodeHs(String codeHs) {
		this.codeHs = codeHs;
	}
	public Double getSizeLength() {
		return sizeLength;
	}
	public void setSizeLength(Double sizeLength) {
		this.sizeLength = sizeLength;
	}
	public Double getSizeWidth() {
		return sizeWidth;
	}
	public void setSizeWidth(Double sizeWidth) {
		this.sizeWidth = sizeWidth;
	}
	public Double getSizeHeight() {
		return sizeHeight;
	}
	public void setSizeHeight(Double sizeHeight) {
		this.sizeHeight = sizeHeight;
	}
	public Double getSizeWeight() {
		return sizeWeight;
	}
	public void setSizeWeight(Double sizeWeight) {
		this.sizeWeight = sizeWeight;
	}
	public Double getPriceIn() {
		return priceIn;
	}
	public void setPriceIn(Double priceIn) {
		this.priceIn = priceIn;
	}
	public Double getPriceService() {
		return priceService;
	}
	public void setPriceService(Double priceService) {
		this.priceService = priceService;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getNameCn() {
		return nameCn;
	}
	public void setNameCn(String nameCn) {
		this.nameCn = nameCn;
	}
	public String getNameEn() {
		return nameEn;
	}
	public void setNameEn(String nameEn) {
		this.nameEn = nameEn;
	}
	public String getNameUnit() {
		return nameUnit;
	}
	public void setNameUnit(String nameUnit) {
		this.nameUnit = nameUnit;
	}
	public String getMaterialCn() {
		return materialCn;
	}
	public void setMaterialCn(String materialCn) {
		this.materialCn = materialCn;
	}
	public String getMaterialEn() {
		return materialEn;
	}
	public void setMaterialEn(String materialEn) {
		this.materialEn = materialEn;
	}
	public String getUsageCn() {
		return usageCn;
	}
	public void setUsageCn(String usageCn) {
		this.usageCn = usageCn;
	}
	public String getUsageEn() {
		return usageEn;
	}
	public void setUsageEn(String usageEn) {
		this.usageEn = usageEn;
	}
	public String getCombination() {
		return combination;
	}
	public void setCombination(String combination) {
		this.combination = combination;
	}
	public String getLinkIn() {
		return linkIn;
	}
	public void setLinkIn(String linkIn) {
		this.linkIn = linkIn;
	}
	public String getRemark() {
		return remark;
	}
	public void setRemark(String remark) {
		this.remark = remark;
	}
	public String getCodeMerge() {
		return codeMerge;
	}
	public void setCodeMerge(String codeMerge) {
		this.codeMerge = codeMerge;
	}
	public String getvSfJp() {
		return vSfJp;
	}
	public void setvSfJp(String vSfJp) {
		this.vSfJp = vSfJp;
	}
	public String getvSKU() {
		return vSKU;
	}
	public void setvSKU(String vSKU) {
		this.vSKU = vSKU;
	}
	public String getvASIN() {
		return vASIN;
	}
	public void setvASIN(String vASIN) {
		this.vASIN = vASIN;
	}
	public String getvFNSKU() {
		return vFNSKU;
	}
	public void setvFNSKU(String vFNSKU) {
		this.vFNSKU = vFNSKU;
	}
	public String getvJydz() {
		return vJydz;
	}
	public void setvJydz(String vJydz) {
		this.vJydz = vJydz;
	}
	public String getvGsBm() {
		return vGsBm;
	}
	public void setvGsBm(String vGsBm) {
		this.vGsBm = vGsBm;
	}
	public String getvGsMc() {
		return vGsMc;
	}
	public void setvGsMc(String vGsMc) {
		this.vGsMc = vGsMc;
	}
	public String getvGsJc() {
		return vGsJc;
	}
	public void setvGsJc(String vGsJc) {
		this.vGsJc = vGsJc;
	}
	public String getvGsDz() {
		return vGsDz;
	}
	public void setvGsDz(String vGsDz) {
		this.vGsDz = vGsDz;
	}
	public String getCidName() {
		return cidName;
	}
	public void setCidName(String cidName) {
		this.cidName = cidName;
	}
	public String getaUserName() {
		return aUserName;
	}
	public void setaUserName(String aUserName) {
		this.aUserName = aUserName;
	}
	public String getaDeptName() {
		return aDeptName;
	}
	public void setaDeptName(String aDeptName) {
		this.aDeptName = aDeptName;
	}
	public String getbUserName() {
		return bUserName;
	}
	public void setbUserName(String bUserName) {
		this.bUserName = bUserName;
	}
	public String getbDeptName() {
		return bDeptName;
	}
	public void setbDeptName(String bDeptName) {
		this.bDeptName = bDeptName;
	}
	public String getgUserName() {
		return gUserName;
	}
	public void setgUserName(String gUserName) {
		this.gUserName = gUserName;
	}
	public String getgDeptName() {
		return gDeptName;
	}
	public void setgDeptName(String gDeptName) {
		this.gDeptName = gDeptName;
	}
	public String getActiveFlowName() {
		return activeFlowName;
	}
	public void setActiveFlowName(String activeFlowName) {
		this.activeFlowName = activeFlowName;
	}
	public String getvHFilesDefault() {
		return vHFilesDefault;
	}
	public void setvHFilesDefault(String vHFilesDefault) {
		this.vHFilesDefault = vHFilesDefault;
	}
	public String getvDFilesDefault() {
		return vDFilesDefault;
	}
	public void setvDFilesDefault(String vDFilesDefault) {
		this.vDFilesDefault = vDFilesDefault;
	}
	
}
